Provably space-efficient parallel functional programming
نویسندگان
چکیده
Because of its many desirable properties, such as ability to control effects and thus potentially disastrous race conditions, functional programming offers a viable approach modern multicore computers. Over the past decade several parallel languages, typically based on dialects ML Haskell, have been developed. These however, traditionally underperformed procedural languages (such C Java). The primary reason for this is their hunger memory, which only grows with parallelism, causing traditional memory management techniques buckle under increased demand memory. Recent work opened new angle attack problem by identifying property determinacy-race-free programs, called disentanglement, limits knowledge concurrent computations about each other’s allocations. has showed some promise in delivering good time scalability. In paper, we present provably space-efficient automatic allowing both pure imperative programs where may be destructively updated. We prove that program sequential live R * , any P -processor garbage-collected run requires at most O ( · ) also bound W + executions, accounting cost garbage collection. To achieve these results, integrate thread scheduling management. idea coordinate allocation collection decisions so processor can allocate without synchronization independently collect portion consulting policy, formulate. policy fully distributed does not require communicating other processors. show practical implementing it an extension MPL compiler Parallel ML. Our experimental results confirm our theoretical bounds perform scale well.
منابع مشابه
Provably Efficient Adaptive Scheduling For Parallel Jobs
Scheduling competing jobs on multiprocessors has always been an important issue for parallel and distributed systems. The challenge is to ensure global, systemwide efficiency while offering a level of fairness to user jobs. Various degrees of successes have been achieved over the years. However, few existing schemes address both efficiency and fairness over a wide range of work loads. Moreover,...
متن کاملParallel Functional Reactive Programming
In this paper, we demonstrate how Functional Reactive Programming (FRP), a framework for the description of interactive systems, can be extended to encompass parallel systems. FRP is based on Haskell, a purely functional programming language, and incorporates the concepts of time variation and reactivity. Parallel FRP serves as a declarative system model that may be transformed into a parallel ...
متن کاملParallel Functional Programming: An Introduction
Due to the absence of side-e ects in a purely functional program, it is relatively easy to partition programs so that sub-programs can be executed in parallel: any computation which is needed to produce the result of the programmay be run as a separate task. There may, however, be implicit controland datadependencies between parallel tasks, which will limit parallelism to a greater or lesser ex...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2021
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3434299